RDS for SQL Serverでストレージサイズの拡張が可能になりました
ウィスキー、シガー、パイプをこよなく愛する大栗です。
昨日RDS for SQL Serverのアップデートがあり、ストレージサイズの拡張が可能になりましたので試してみます。
ストレージサイズの拡張
今までRDS for SQL Serverは他のDBエンジンと異なりストレージサイズの拡張ができませんでした。以下のエントリーのように、新たに別のDBインスタンスを起動してデータ移行が必要でした。
今回のアップデートで、既存DBインスタンスをそのままストレージサイズ拡張できるようになり、16TiBまで拡張できるようになりました。
しかし、拡張に際して動作の制限があります。
- ストレージサイズを増やせますが、減らすことはできません。
- 拡張のリクエストをしてから6時間が別のストレージの変更はできません。
- 一部の古いDBインスタンスや古いスナップショットからリストアしたDBインスタンスではストレージサイズの拡張ができません。拡張が可能かはAWS CLIのdescribe-valid-db-instance-modificationsコマンドで確認できます。
- 拡張に際して短時間停止する場合があります。
- ストレージの最適化中にパフォーマンスが低下することがあります。ストレージの最適化は24時間以上かかる場合があります。
またFAQによると以下の制限が記載されています。
- ストレージタイプがマグネティックでは対応できません。
- 2017年1月1日より前に起動したDBインスタンスは対象外の古いストレージ構成を使用している場合があります。
とのことです。
試してみます
先にRDS for SQL Serverを起動しています。
- リージョン:東京
- インスタンスタイプ:db.m4.large
- DBエンジン:SQL Server SE 14.00.1000.169.v1
- ライセンスモデル:License Included
- ストレージタイプ:プロビジョンド IOPS(SSD)
- IOPS:1000
- ストレージ:200 GB
このDBインスタンスを変更します。
- ストレージタイプ:汎用 (SSD)
- ストレージ:300 GB
ダウンタイムが発生する旨のメッセージと変換に長い時間がかかりパフォーマンスに影響する旨のメッセージが表示されます。
ステータスが変更中
になります。
少しするとステータスがstorage-optimization
となります。
しばらく待つと利用可能
になります。
さいごに
今までのストレージサイズ拡張は別のDBインスタンスへデータ移行をするためサービスの停止時間が長くなるので、あらかじめ余裕のあるストレージサイズにして拡張をしなくて済むようにしていました。今回のアップデートにより既存DBインスタンスをそのまま拡張できるためサービスのダウンタイムも短くて済みます。そのため長期的なストレージサイズではなく、短中期的に使用するストレージサイズを使用すればよく、見込みのずれが減って、コストも効率的になると思います。